/* Copyright (c) 2012 Research In Motion Limited.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import bb.cascades 1.0
import bb.data 1.0
import com.songs.data 1.0


Page {
    id: songs_vn
    
    property alias txtSearch: txtSearch.text

    
    Container {
        Container {
            leftPadding: 20
            rightPadding: 20
            topPadding: 20
            TextField {
                id: txtSearch
                inputMode: TextFieldInputMode.Default
                hintText: "nhập từ khóa tìm kiếm"
                
                onTextChanging: {
	                songsDataSource.query = query(text); //"SELECT * FROM songs WHERE lang='v' AND (title LIKE '%"+text+"%' OR title_raw LIKE '%"+text+"%' OR lyrics LIKE '%"+text+"%' OR lyrics_raw LIKE '%"+text+"%') ORDER BY title LIMIT 200";
	                songsModel.clear();
	                songsDataSource.load();                    
                }
                function query(str)
                {
                    var sql;
                    var txtStr = str;
                    if(txtStr.length==0)
                        sql = "SELECT * FROM songs WHERE lang='v' ORDER BY title LIMIT 200";
                    else
	                    if(txtStr.length==1)
	                        sql = "SELECT * FROM songs WHERE lang='v' AND title LIKE '"+txtStr+"%' ORDER BY title LIMIT 200";
	                    else
	                        sql = "SELECT * FROM songs WHERE lang='v' AND (title LIKE '%"+txtStr+"%' OR title_raw LIKE '%"+txtStr+"%') ORDER BY title LIMIT 200";
                    return sql;
                }
            }
        }
        CustomListView {
            dataModel: songsModel
        }
        
    } // Container
    function toggleFavoriteSelectedSong() {
        var is_favorite = (selectedData.is_favorite==1)?0:1;
	    songsDataSource.execute("UPDATE songs SET is_favorite=" + is_favorite + " WHERE song_id=" + selectedData.song_id,1);
	    var indexPath = songsModel.find(selectedData);
	    var itemData = {"song_id":selectedData.song_id , "code": selectedData.code,"title": selectedData.title,"artists": selectedData.artists, "lyrics": selectedData.lyrics, "title_raw": selectedData.title_raw, "lyrics_raw": selectedData.lyrics_raw, "is_favorite": is_favorite, "lang": selectedData.lang};
	    songsModel.updateItem(indexPath, itemData);
	    selectedData = null;
	}
	onCreationCompleted: {
        // When the list view has been created load the data.
        songsDataSource.load();
    }
}// Page
